using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace TgcViewer.Utils
{
    /// <summary>
    /// Loguea en diferentes modalidades el texto solicitado en el textbox configurado.
    /// </summary>
    public class Logger
    {
        private RichTextBox logArea;

        public Logger(RichTextBox logArea)
        {
            this.logArea = logArea;
            clear();
        }

        public void log(string txt, Color color)
        {
            logArea.SelectionColor = color;
            logArea.SelectedText = txt;
            logArea.SelectedText = Environment.NewLine;
        }

        public void log(string txt)
        {
            log(txt, Color.Black);
        }

        /// <summary>
        /// Loguea el string txt en  en el textbox configurado con color rojo
        /// indicando que se trata de un error
        /// </summary>
        /// <param name="txt">string con el texto a loguear</param>
        public void logError(string txt, Exception e)
        {
            log(txt + Environment.NewLine + e.ToString(), Color.Red);
        }

        /// <summary>
        /// Limpia la consola de logueo
        /// </summary>
        public void clear()
        {
            logArea.Clear();
        }


    }
}
